package com.efast.dmom.mgmt.dao.mes.plan;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.dmom.mgmt.bean.mes.InfPpPlan;
import com.efast.dmom.mgmt.bean.mes.MesCalendarShiftRelation;
import com.efast.dmom.mgmt.bean.mes.plan.PlanCapacityBean;

public interface PlanAutoScheduleDao {

	List<InfPpPlan> getUnBroadcastPlanList(@Param("planOrderNo") String planOrderNo,
			@Param("factoryCode") String factoryCode, @Param("model") String model);

	void updatePlanInfo(InfPpPlan plan);

	void updateCapabilityInfo(List<MesCalendarShiftRelation> infoList);

	void deleteCapabilityInfo(List<PlanCapacityBean> planCapacityList);

	void savePlanScheduleInfo(List<PlanCapacityBean> planCapacityList);

	List<MesCalendarShiftRelation> getScheduledDayInfo(@Param("factoryCode") String factoryCode,
			@Param("plant") String plant, @Param("model") String model, @Param("startDate") Date startDate,
			@Param("endDate") Date endDate);

	Integer getAllocatedDay(MesCalendarShiftRelation dayInfoNext);
}
